table.no-style {
    border: none;
    border-collapse: collapse;
    padding: 0;
    margin: 0;
    background: none;
}
table.full {
    width: 100%;
}

table.no-style td, table.no-style th {
    background: none;
    border: none;
}

table.datatable {
    border: 1px solid #aaa;
    border-collapse: separate;
    border-spacing: 0;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    -khtml-border-radius: 5px;
    border-radius: 5px;
}

table.datatable thead th {
    background: #f7f7f7;
    background: -webkit-gradient(linear, left top, left bottom, from(#f7f7f7), to(#e1e1e1));
    background: -moz-linear-gradient(top,  #f7f7f7,  #e1e1e1);
    -pie-background: linear-gradient(top,  #f7f7f7,  #e1e1e1);
    border-bottom: 1px solid #aaa;
    color: #333;
    text-shadow: 0 1px 0 #fff;
    position: relative;
}

table.datatable thead th:not(:last-child) {
    border-right: 1px solid #aaa;
}

table.datatable thead th:not(:first-child) {
    border-left: 1px solid #fff;
}

table.datatable thead th:first-child {
    -moz-border-radius-topleft: 5px;
    -webkit-border-top-left-radius: 5px;
    -khtml-border-top-left-radius: 5px;
    border-radius: 5px 0 0 0;
}

table.datatable thead th:last-child {
    -moz-border-radius-topright: 5px;
    -webkit-border-top-right-radius: 5px;
    -khtml-border-top-right-radius: 5px;
    border-radius: 0 5px 0 0;
}

table.datatable tbody tr:last-child td:first-child {
    -moz-border-radius-bottomleft: 5px;
    -webkit-border-bottom-left-radius: 5px;
    -khtml-border-bottom-left-radius: 5px;
    border-radius: 0 0 0 5px;
}

table.datatable tbody tr:last-child td:last-child {
    -moz-border-radius-bottomright: 5px;
    -webkit-border-bottom-right-radius: 5px;
    -khtml-border-bottom-right-radius: 5px;
    border-radius: 0 0 5px 0;
}

table.datatable.no-border thead th:first-child, table.datatable.no-border thead th:last-child, table.datatable.no-border tbody tr:last-child td:first-child, table.datatable.no-border tbody tr:last-child td:last-child {
    -moz-border-radius: 0 !important;
    -webkit-border-radius: 0 !important;
    -khtml-border-radius: 0 !important;
    border-radius: 0 !important;
}

table.datatable th, table.datatable td {
    padding: 5px;
    vertical-align: middle;
}

table.datatable tbody tr:nth-child(odd) td {
    background: #f9f9f9;
}

table.datatable tbody td:not(:last-child) {
    border-right: 1px solid #eee;
}

table.datatable.sortable {
    table-layout: fixed;
}

table.datatable.sortable td.column-selected {
    background: #ffffc0 !important;
}

table.datatable.sortable th a {
    display: block;
}
table.datatable.sortable th a.sort-asc {
    background: transparent url(../images/arrow-up.png) no-repeat right;
}
table.datatable.sortable th a.sort-desc {
    background: transparent url(../images/arrow-down.png) no-repeat right;
}

table.datatable.selectable tbody tr.hover td, table.datatable.selectable tbody tr.selected td {
    background: #ffffc0;
}

table.datatable tfoot tr td {
    border-top: 1px solid #e1e1e1;
    background: #f1f1f1;
}
